
#ifndef _INTERFACE_TASK_H
#define _INTERFACE_TASK_H
#include "stm32f4xx_hal.h"
#include "FreeRTOS.h"
#include "semphr.h"
#include "queue.h"
#include "cmsis_os2.h"
#include "string.h"
#include <stdio.h>
#include <stdlib.h>

#include "bsp_GM65.h"

/* 任务间通讯 */
#define BIT_2						0x00000100U
#define INTERFACE_DONE	BIT_2 // 任务完成标志

/* 向Interface_Task 接收消息 */
typedef struct
{
	uint8_t InterfaceMode; // 人机界面模式
} Interface_Rx_Message_t;

enum Interface_Mode{
	STATIC_MODE = 0, // 静态模式
	SCAN_QR_MODE = 1, // 扫描二维码
};

typedef struct
{
	uint8_t Mode; // 模式
	// 二维码相关
	uint8_t Color_Num[8]; // 存放颜色数据
	uint8_t RecvOk_Flag; // 数据接收成功标志 
	struct UART_Device* GM65_Device; // 二维码扫描串口
} Interface_TypeDef;

extern uint8_t QR_NUM[8]; // 二维码数组

#endif
